#! /usr/bin/make -f
#
# debian/rules
# Part of Debian ‘xkcdpass’ package.
#
# Copyright © 2010–2016 Ben Finney <bignose@debian.org>
# This is free software; you may copy, modify and/or distribute this work
# under the terms of the BSD 3-clause license.
# No warranty expressed or implied.
# See the file ‘LICENSE.BSD’ for details.

DOCUMENTATION_DIR = debian
MANPAGE_SUFFIX = .1
TEMPFILE_SUFFIX = .tmp
manpage_names = xkcdpass
.INTERMEDIATE: ${DOCUMENTATION_DIR}/*${MANPAGE_SUFFIX}${TEMPFILE_SUFFIX}

manpage_paths = $(addprefix ${DOCUMENTATION_DIR}/,${manpage_names})
manpages = $(addsuffix ${MANPAGE_SUFFIX},${manpage_paths})
GENERATED_FILES += ${DOCUMENTATION_DIR}/*${MANPAGE_SUFFIX}

MAIN_PYTHON_PACKAGE = xkcdpass
export PYBUILD_NAME = ${MAIN_PYTHON_PACKAGE}

# Send HTTP traffic to the “discard” service during packaging actions.
export http_proxy = http://127.0.1.1:9/
export https_proxy = ${http_proxy}

RST_SUFFIX = .txt

RST2MAN = rst2man


%:
	dh $@ --with bash-completion,python3 --buildsystem=pybuild


.PHONY: override_dh_auto_build
override_dh_auto_build: ${manpages}

%.1: %.1${RST_SUFFIX}
	$(RST2MAN) $< > $@${TEMPFILE_SUFFIX}
	cat debian/manpage_encoding_declaration.UTF-8 $@${TEMPFILE_SUFFIX} > $@


.PHONY: override_dh_auto_clean
override_dh_auto_clean:
	dh_auto_clean
	$(RM) -r ${GENERATED_FILES}


.PHONY: get-packaged-orig-source
get-packaged-orig-source:
	$(uscan-download-source) --download-current-version

# Policy §4.9 strongly recommends the ‘get-orig-source’ target:
# “This target is optional, but providing it if possible is a good idea.”
#
# This target is an anomaly: per Policy §4.9, it fetches the *latest*
# upstream source, regardless of this package's version. To fetch the
# upstream source corresponding to this package's *declared* version
# in ‘debian/changelog’, use ‘get-packaged-orig-source’ instead.
.PHONY: get-orig-source
get-orig-source:
	$(uscan-download-source)

get-orig-source get-packaged-orig-source: http_proxy =
get-orig-source get-packaged-orig-source: makefile_dir = $(abspath $(dir $(firstword ${MAKEFILE_LIST})))
get-orig-source get-packaged-orig-source: package_dir = $(abspath $(dir ${makefile_dir}))

define uscan-download-source
	uscan --noconf --verbose \
	    --force-download \
	    --rename \
	    --destdir=$(CURDIR) \
	    --check-dirname-level=0 ${package_dir}
endef # uscan-download-source


# Local variables:
# coding: utf-8
# mode: makefile
# End:
# vim: fileencoding=utf-8 filetype=make :
